/* 
 * GrayRabbit Cms基于J2EE架构内容管理系统
 * Copyright © GrayRabbit Co., Ltd. All rights reserved.
 * Department：运营部
 * 更多信息，请visit:
 * http://code.google.com/p/gray-rabbit-cms/
 */
package org.grayrabbit.cms.dao.system; 

import java.util.List;

import org.grayrabbit.cms.entity.Admin;
import org.grayrabbit.cms.entity.AdminOperRela;
import org.grayrabbit.cms.vo.system.AdminOperRelaBean;

import org.grayrabbit.dao.GenericDao;
import org.grayrabbit.dao.util.Page;
import org.grayrabbit.dao.util.QueryCondition;

/**
 * <b>AdminOperRela</b>的DAO接口

 * @version 1.0,创建时间:2011-05-16 15:55:06 
 */
public interface AdminOperRelaDao extends GenericDao<AdminOperRela, String>{
	
	/**
	 * 根据bean组装查询条件
	 */
	public QueryCondition assembly(AdminOperRelaBean bean);
	/**
	 * 根据bean组装统计查询条件
	 */
	public QueryCondition assemblyCount(AdminOperRelaBean bean);
	public int count(AdminOperRelaBean bean);
	/**
	 * 根据bean组装查询条件(名称参数)
	 */
	public QueryCondition assermblyNameQuery(AdminOperRelaBean bean);
	/**
	 * 填充分页组件
	 * @param page
	 * @param bean
	 */
	public List<AdminOperRela> findByPage(Page<AdminOperRela> page, AdminOperRelaBean bean);
	
	/**
	 * 根据bean组装统计查询条件(名称参数)
	 */
	public QueryCondition assemblyNameQueryCount(AdminOperRelaBean bean);
	
	/**
	 *  查找该管理员（adminId）的所有个人权限 
	 * @param adminId
	 * @return
	 */
	public List<AdminOperRela> findAllAuthCodeByAdminId(String adminId);
	/**
	 * 权限删除   
	 * @param targetId   站点 、 栏目 、专题
	 * @param targetType  （targetId  类型）
	 */
	public List<AdminOperRela> findObjectAuth(String targetId,String targetType);
	public List<AdminOperRela> findByTargetIdAndOperCodeId(String adminId,
			String operId, String operTargetId);
 
	/**获取管理员Id， 参数：  权限码ID  操作对象Id*/
	public List<Admin> findCategoryAuditorsAdmin(String codeId,String targetId);
  
}